iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 25
0

資料原本大概長這樣:
日期的部分整數
時間的部分是三到六位數不等
https://ithelp.ithome.com.tw/upload/images/20191010/20111603oKo2pR16ph.pnghttps://ithelp.ithome.com.tw/upload/images/20191010/20111603a9ZJEIkxgN.png
我們要做的第一件事情就是幫時間裡面的"小時"補零,方便之後做計算,最主要就是這個部分吧,要怎樣幫數據補零,在R語言裡面有一個str_pad可以直接補零,我最近才知道可以這樣用的,要不然我都是先看nchar字串裡面有幾個數字,如果沒有滿我才paste0("0",string)

官方定義就是

str_pad(string, width, side = c("left", "right", "both"), pad = " ")

日期的話就是把左邊用0補齊6個數字啦!(預設就是補左邊也不用填這個參數

str_pad(string, width = 6, pad = 0)
x1 = paste0(substring(string,1, 2),':', substring(string,3, 4),':', substring(string,5, 6))

再來就是把時:分:秒,分開,兩個字與兩個字之間插入:

檢查了資料型態發現日期是指2019-1-1開始算,所以2就是2019-1-1+1 -> 2019-1-2
t1 = as.Date('2019-01-01')
t2 = t1+traindata$locdt
t3 = paste(t2,x1)
t3 = as.numeric(as.POSIXlt(t3))
https://ithelp.ithome.com.tw/upload/images/20191010/20111603SWl425OOdO.png

完成.


上一篇
R語言 - source調用別地方的function - 數值轉成百分比
下一篇
R語言 - 顏色漸層
系列文
R語言 - 從「主觀感覺」轉為「客觀事實」30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言